using System;
using System.Collections.Generic;
using System.Linq;

namespace Rifts.Models.Characters
{
	public class WeaponProficiencyWithStyle
	{
		private readonly int? m_Damage;
		private readonly int? m_Disarm;
		private readonly int? m_Entangle;
		private readonly string m_Name;
		private readonly int? m_MeleeStrike;
		private readonly int? m_Parry;
		private readonly int? m_RangedStrike;
		private readonly int? m_ThrownStrike;

		public WeaponProficiencyWithStyle(WeaponProficiency proficiency, FightingStyle style)
		{
			m_Name = proficiency.Name;
			m_MeleeStrike = proficiency.MeleeStrike + style.MeleeStrike;
			m_ThrownStrike = proficiency.ThrownStrike + style.MeleeStrike;
			m_RangedStrike = proficiency.RangedStrike + style.RangedStrike;
			m_Parry = proficiency.Parry + style.Parry;
			m_Disarm = proficiency.Disarm + style.Disarm;
			m_Entangle = proficiency.Entangle + style.Entangle;
			m_Damage = proficiency.Damage;
		}

		public int? Damage
		{
			get { return m_Damage; }
		}

		public int? Disarm
		{
			get { return m_Disarm; }
		}

		public int? Entangle
		{
			get { return m_Entangle; }
		}

		public int? MeleeStrike
		{
			get { return m_MeleeStrike; }
		}

		public string Name
		{
			get { return m_Name; }
		}

		public int? Parry
		{
			get { return m_Parry; }
		}

		public int? RangedStrike
		{
			get { return m_RangedStrike; }
		}

		public int? ThrownStrike
		{
			get { return m_ThrownStrike; }
		}

	}
}
